package service

import (
	"rdiot-demo/internal/eav/eav_service"

	"go.uber.org/zap"
	"gorm.io/gorm"
)

// Services 服务容器
type Services struct {
	// EAV相关服务集合
	EAVServices *eav_service.EAVServices

	// 其他模块服务将在后续添加
	// AuthService     *auth.Service
	// DeviceService   *device.Service
	// DrillService    *drill.Service
	// MonitorService  *monitor.Service
	// AnalyticsService *analytics.Service
	// SystemService   *sysmgmt.Service
	// GatewayService  *gateway.Service
	// AuditService    *audit.Service
	// NotificationService *notification.Service
}

// NewServices 创建服务容器
func NewServices(db *gorm.DB, logger *zap.Logger) *Services {
	// 初始化EAV服务
	eavServices := eav_service.NewEAVServices(db, logger)

	return &Services{
		EAVServices: eavServices,
	}
}
